<?php

class Model {

    public function __construct() {
        include_once '../app/Db.php';
//        include_once 'app/DbHacienda.php';
    }

    public function validaDatosAcceso($user, $pass) {

//        echo "$pass";

        $eschema = DB_DEFAULT_SCHEMA.'_config';
        $db = new Db();
        $db->consultar("
            SELECT id
            FROM $eschema.usuario
            WHERE user = '$user' AND pass = MD5('$pass')
        ");
        if($db->cantidadRegistros()) {
            $row = $db->extraeRegistro();
            $_SESSION['user'] = $user;
            $_SESSION['idUsuario'] = $row->id;
            
            return TRUE;
        }
        else return FALSE;
        
        
        

////        mt_srand((double) microtime() * 1000000);
////        $salt = pack("CCCC", mt_rand(), mt_rand(), mt_rand(), mt_rand());
////        $hash = "{SSHA}" . base64_encode(pack("H*", sha1($pass . $salt)) . $salt);
////
//        $host = '10.2.13.2';
//        $port = '389';
//////        $user = 'HACIENDA\\'.$user;
////
//        $dn = "cn=$user,dc=hacienda,dc=local";
////        $dn = "$user@hacienda";
////
////        echo $dn . '<br>';
////
//        $ldapConn = ldap_connect($host, $port)
//                or die("No se puede establecer una conexion con el servidor");
////
////        ldap_set_option($ldapConn, LDAP_OPT_PROTOCOL_VERSION, 2)
////                or die("No se puede usar la version de ldap");
////
//        echo $dn;
//        $ldapBind = ldap_bind($ldapConn, $dn, $pass)
//                or die("No se Puede autenticar el usuario LDAP");
////
////        if ($ldapBind) {
////            echo 'ok';
////        } else
////            echo 'fail';
////
////        exit();
        
        
    }

    public function devuelveItemsMenu() {
        $user = $_SESSION['user'];
        $db = new Db();
        $schema = DB_DEFAULT_SCHEMA . '_config';
        $db->consultar("
            SELECT DISTINCT m.nombre, m.descrip, gr.descripcion grupo
            FROM $schema.privilegio p
            INNER JOIN $schema.usuario_privilegio up ON up.idPrivilegio = p.id
            INNER JOIN $schema.privilegio pri ON pri.id = up.idPrivilegio
            INNER JOIN $schema.modulo m ON m.id = pri.idModulo
            INNER JOIN $schema.modulo_grupo mg ON mg.idModulo = m.id
            INNER JOIN $schema.grupo gr ON gr.id = mg.idGrupo
            INNER JOIN $schema.usuario u ON u.id = up.idUsuario
            WHERE u.user = '$user'
            ORDER BY gr.nroOrden, m.nombre
        ");

        $ind = 0;
        $arr = array();
        while ($row = $db->extraeRegistro()) {
            $arr[$ind][0] = $row->nombre;
            $arr[$ind][1] = $row->descrip;
            $arr[$ind][2] = $row->grupo;
            $ind++;
        }

        return $arr;
    }

}

?>
